<?php
class SedesiemsController extends AppController {

	var $name = 'Sedesiems';
	var $helpers = array('Access');
	var $uses = array('Sedesiem','Iem','Zona','Group', 'User', 'Municipio');
	
	function sesion_activa(){
		$usuario_activo=$this->Access->getMy('username');
		//Verificacion de sesion del sistema
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
	}
	
	function index($iem = null) {
		$this->sesion_activa();

		$this->Sedesiem->recursive = 0;
		//$this->set('sedesiems', $this->paginate());
		$sedesiems = $this->paginate('Sedesiem',array('Sedesiem.iem_id'=>$iem));
		$nombre_iem =$this->Iem->find('first',array('conditions'=>array('Iem.id'=>$iem)));	
		$this->set(compact('sedesiems', 'iem', 'nombre_iem'));
	}

	function view($id = null) {
		$this->sesion_activa();
		if (!$id) {
			$this->Session->setFlash(__('Invalid sedesiem', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('sedesiem', $this->Sedesiem->read(null, $id));
	}

	function add($iem = null) {
		$this->sesion_activa();
		if (!empty($this->data)) {
			$this->Sedesiem->create();
			if ($this->Sedesiem->save($this->data)) {
				$this->Session->setFlash(__('La Sede ha sido guardada', true));
				$this->redirect(array('action' => 'index', $this->data['Sedesiem']['iem']));
			} else {
				$this->Session->setFlash(__('La Sede no ha sido guardada. Favor, intente mas tarde.', true));
			}
		}
		 //Se traen todos las IEMS
		$iems=$this->Sedesiem->Iem->find('list',array('fields'=>array('Iem.id','Iem.nombre')));
		
		$grupo = $this->Access->getMy('group_id');
		$nombre_grupo = $this->Group->read('nombre',$grupo);
		$nombre_grupo = $nombre_grupo['Group']['nombre'];
		$iems;
	    	    
		//Informacion IEM Activa
		$info_iem_activa = $this->Sedesiem->Iem->find('first',array('conditions'=>array('Iem.id'=>$iem)));	    
				
		$users = $this->User->find('list');
		$this->set(compact('iems', 'users','info_iem_activa','iem'));
	}

	function edit($id = null,$iem = null) {
		$this->sesion_activa();
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Sedes Inavalida', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Sedesiem->save($this->data)) {
				$this->Session->setFlash(__('La Sede ha sido actualizada', true));
				$this->redirect(array('action' => 'index', $this->data['Sedesiem']['iem']));
			} else {
				$this->Session->setFlash(__('La Sede no ha sido actualizada. Favor, intente mas tarde.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Sedesiem->read(null, $id);
		}
		//Se traen todos las IEMS
		$iems=$this->Sedesiem->Iem->find('list',array('fields'=>array('Iem.id','Iem.nombre')));
		
		$grupo = $this->Access->getMy('group_id');
		$nombre_grupo = $this->Group->read('nombre',$grupo);
		$nombre_grupo = $nombre_grupo['Group']['nombre'];
		$iems;
	    	    
		//Informacion IEM Activa
		$info_iem_activa = $this->Sedesiem->Iem->find('first',array('conditions'=>array('Iem.id'=>$iem)));	    
				
		/*$iems = $this->Sedesiem->Iem->find('list');*/
		//$users = $this->Sedesiem->User->find('list');
		$this->set(compact('iems', 'users','info_iem_activa','iem'));
	}

	function delete($id = null) {
		$this->sesion_activa();
		
		if (!$id) {
			$this->Session->setFlash(__('Sede Invalida', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Sedesiem->delete($id)) {
			$this->Session->setFlash(__('Sede eliminada', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('La Sede no pudo ser eliminada', true));
		$this->redirect(array('action' => 'index'));
	}
	
    function sedesiems_iem(){
	    $this->sesion_activa();
		$iems = $this->paginate('Iem');
		foreach ($iems as &$iem){
			$zona = $this->Sedesiem->Iem->Zona->Municipio->read(null, $iem['Zona']['municipio_id']);
			$iem['Zona']['nombre_zona'] = $zona['Municipio']['nombre']; 
		}		
		$this->set(compact('iems'));
	}
	
	function get_sedes_json($iem = null){
	
		if( $iem != null ){			
			$sedes = $this->Sedesiem->find('list', array("fields"=>array("Sedesiem.id", "Sedesiem.nombre"),
					"conditions"=>array("Sedesiem.iem_id"=>$iem)));				
			$this->view = 'Json';
			$this->set(compact('sedes'));
			$this->set('json', 'sedes');
		}
	}
}
